var $app = new Vue({
    el : '#app',
    data : {
        context : $contextPath||'',
        condition : {
            key : ''
        },
        page : {
            data : [],
            total : 0,
            pageIndex : 1,
            pageSize : 20
        },
        modal : {
            add : false,
            update : false
        },
        form : {
            aModel : {},//添加对象
            eModel : {},//编辑对象
            rules: {
                name: [
                    {required: true, message: '输入名称', trigger: 'blur'},
                    {min: 2, max: 15, message: '长度在 2 到 15 个字符', trigger: 'change'}
                ],
                code: [
                    {required: true, message: '输入编号', trigger: 'blur'},
                    {min: 2, max: 15, message: '长度在 2 到 15 个字符', trigger: 'change'}
                ]
            }
        }
    },
    created : function(){
        this.query();
    },
    methods : {
        query : function(){
            var _this = this;
            $.ajax({
                url : _this.context + '/major/list',
                method : 'POST',
                data : {
                    pageIndex : _this.pageIndex,
                    pageSize : _this.pageSize,
                    key : _this.condition.key
                },
                success : function(res){
                    _this.page.data = res;
                },
                error : function(){
                    _this.$message.warning('请求获取数据失败，请检查网络或登陆状态');
                }
            })
        },
        doAdd : function (){
            var _this = this;
            _this.$refs['addForm'].validate(function (valid) {
                if (valid) {
                    $.ajax({
                        url : _this.context + '/major/add',
                        method : 'POST',
                        data : _this.form.aModel,
                        success : function (res) {
                            if(res && res.code==200){
                                _this.query();
                                _this.$message.success('添加成功');
                                _this.modal.add = false;
                            }else{
                                _this.$message.error((res?(res.message||'操作失败01'):'操作失败02'));
                            }
                        },
                        error : function () {
                            _this.$message.warning('提交失败，请检查网络或登陆状态');
                        }
                    })
                }
            });
        },
        toUpdate : function (model) {
            var _this = this;
            _this.form.eModel = model;
            _this.$nextTick(function () {
                _this.modal.update = true;
            })
        },
        doUpdate : function(){
            var _this = this;
            _this.$refs['updateForm'].validate(function (valid) {
                if (valid) {
                    $.ajax({
                        url : _this.context + '/major/update',
                        method : 'POST',
                        data : _this.form.eModel,
                        success : function (res) {
                            if(res && res.code==200){
                                _this.query();
                                _this.$message.success('保存成功');
                                _this.modal.update = false;
                            }else{
                                _this.$message.error((res?(res.message||'操作失败01'):'操作失败02'));
                            }
                        },
                        error : function () {
                            _this.$message.warning('提交失败，请检查网络或登陆状态');
                        }
                    })
                }
            });
        },
        doDelete : function (id) {
            var _this = this;
            if(id){
                _this.$confirm('确定删除该项吗?', '提示', {
                    type: 'info'
                }).then(function () {
                    $.ajax({
                        url : _this.context + '/major/delete',
                        method : 'POST',
                        data : {majorId : id},
                        success : function(res){
                            if(res && res==1){
                                _this.query();
                                _this.$message.success('删除成功');
                            }else{
                                _this.$message.error((res?(res.message||'操作失败01'):'操作失败02'));
                            }
                        },
                        error : function(){
                            _this.$message.warning('请求失败，请检查网路或登陆状态');
                        }
                    })
                }).catch(function (err) {
                    _this.$message.error(err||'请求错误');
                });
            }
        }
    }
});